package business;

import business.iservices.BusinessSrv;
import business.iservices.IKnBaseService;
import business.cache.KnBaseInformationInserter;
import result.Result;


/**
 * Servicios para el acceso a los servicios para la modificacion y preparacion de la base de datos de conocimiento
 * @author 53385255R
 *
 */
public class KnBaseService extends BusinessSrv implements IKnBaseService {

	/**
	 * @see business.iservices.IKnBaseService#insertSpanishForeigns()
	 */
	@Override
	public Result<Object> insertSpanishForeigns() {
		
		Result<Object> res = new Result<Object>("", null,  false);
		
		try {
			
			ViewLogger.getInstance().info("Obteniendo las palabras para corps codificados con 'ES' pero con pais extranjero");
			
			KnBaseInformationInserter kn = new KnBaseInformationInserter();
		
			//Primero insertamos las provincias con -2
			kn.spanishForeigns();
			//Insertamos el penultimo segmento
			kn.spanishForeignsWithoutProv();
			res.set_ok(true);
		} catch (Exception e) {
			
			ViewLogger.getInstance().error ("Ha saltado una excepcion obteniendo las palabras para corps codificados con 'ES' pero con pais extranjero\n" + e.getMessage());
			res.set_ok(false);
			
		}
		
		return res;
	}
	
	
	/**
	 * @see business.iservices.IKnBaseService#insertForeignWithSpain()
	 */
	@Override
	public Result<Object> insertForeignWithSpain() {
		
		Result<Object> res = new Result<Object>("", null,  false);
		
		try {
			
			ViewLogger.getInstance().info("Obteniendo las palabras para corps extranjeros que se les ha dado pais Spain");
			
			KnBaseInformationInserter kn = new KnBaseInformationInserter();
		
			kn.foreignWithSpain();
		
			res.set_ok(true);
			
		} catch (Exception e) {
			
			ViewLogger.getInstance().error ("Ha saltado una excepcion obteniendo las palabras para corps extranjeros que se les ha dado pais Spain\n" + e.getMessage());
			res.set_ok(false);
			
		}
		
		return res;
	}

	
	
	
}
